package com.wzx.user.business.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wzx.common.exception.LeadNewsException;
import com.wzx.common.pojo.resp.Result;
import com.wzx.user.pojo.shop.dto.ReleaseDynamicDto;
import com.wzx.user.pojo.shop.pojo.ReleaseDynamic;
import com.wzx.user.pojo.shop.vo.PlaceAnOrderVo;
import com.wzx.user.pojo.shop.vo.QueryReleaseByPage;
import com.wzx.user.pojo.shop.vo.ReleaseDynamicVo;

import java.util.List;

/**
 * @author wzx
 * @version 1.0
 * @date 2023/2/16 - 19:09
 * @description 标题
 */
public interface ReleaseDynamicService extends IService<ReleaseDynamic> {
    Result queryByTypePage(QueryReleaseByPage queryReleaseByPage);

    List<ReleaseDynamicDto> queryByOrder(QueryReleaseByPage queryReleaseByPage);

    void placeAnOrder(PlaceAnOrderVo placeAnOrderVo) throws LeadNewsException;

    void cancelOrder(Integer releaseDynamicId) throws LeadNewsException;

    void changeState(PlaceAnOrderVo placeAnOrderVo) throws LeadNewsException;

    void removeOrderByOrderId(Integer releaseDynamicId);

    void removeOrderByReleaseUserId(Integer releaseDynamicId);

    ReleaseDynamicDto selectById(Integer releaseDynamicId);

    void createPublicationByZfb(ReleaseDynamicVo releaseDynamicVo);

    void createPublicationByAmount(ReleaseDynamicVo releaseDynamicVo) throws LeadNewsException;

    void placeAnOrderByAmount(PlaceAnOrderVo placeAnOrderVo) throws LeadNewsException;
}
